import pandas as pd
import yaml

from yaml import SafeLoader
from datareport.api.DataSource import DataSource
from datareport.impl.paragraph.base.BaseParagraph import BaseParagraph
from datareport.api.annotation.Style import style


@style()
class KaiZhanQingKuang_zhiliangpinjia_content_50(BaseParagraph):
    """
    本年度校级组织生活观摩
    """

    def __init__(self):
        super().__init__()
        self.text = '''本 年 度 校 级 组 织 生 活 观 摩 同 步 进 行 了 组 织 生 活 质 量 评价\
观 摩 人 根 据 实 际 ， 对 所 观 摩 组 织 生 活 从 2 个 方 面 {}项内 容 进 行 即 时 评 价。一 方 面 ，\
聚 焦 工 作 要 求 的 体 现 程 度 ， 从 {} 等{}个 方 面 进 行评 价 ， 满 分 为 5 分 ；\
另 一 方 面 ， 聚 焦 观 摩 组织 生 活 的 可 借 鉴 情 况 ， 从 {}等{}个 方 面 进 行 评 价 ， 满 分5分 '''
        self.sort = 39
        self.section = 13

    def plot(self, df, plt):
        pass

    def getData(self, result):
        pass

    def start(self, conn, year, plt):
        df=pd.read_sql('''select name,type from t_evaluation where isdel=0 ''',con=conn)
        self.text=self.text.replace(' ','').format(len(df),
                list2str(df[df['type']=='请您根据观摩情况，对下列工作要求的体现程度进行打分']['name'].values.tolist()),
                                   len(df[df['type']=='请您根据观摩情况，对下列工作要求的体现程度进行打分']),
                list2str(df[df['type'] == '您认为参加本次组织生活后，您所在支部开展组织生活可借鉴情况是？']['name'].values.tolist()),
                                   len(df[df['type'] == '您认为参加本次组织生活后，您所在支部开展组织生活可借鉴情况是？'])
                                   )

def list2str(l):
    return '、'.join(l)


if __name__ == '__main__':
    with open('D:\work\sanhuiyike\datareport\config.yaml', encoding='utf-8') as f:
        data = yaml.load(f, Loader=SafeLoader)
    con = DataSource(data['datasource']).conn
    KaiZhanQingKuang_zhiliangpinjia_content_50().start(con, 2023, '')
